1. Field of the Invention
The present invention relates to a communications system and a communications method using a network, and more specifically to a mobile device communications system and method which are provided with a plurality of service providing servers and perform communications using a mobile terminal.
2. Description of the Prior Art
FIG. 42 is a block diagram of the system configuration of the first conventional technology of the mobile device communications system, for example, a mobile device packet network. In FIG. 42, the user of the system, that is, a client, performs communications between mobile devices or with a plurality of service providing servers using mobile devices (MS) 100a, 100b, . . . , for example, a mobile phone.
In FIG. 42, a mobile device packet network includes, for example, a mobile IP (Internet protocol) 101, a network access device (NAS) for performing a process corresponding to the access gained by each of mobile devices (MS) 100a, 100b, . . . to the mobile IP network 101, or foreign agents (FA) 102a, 102b, . . . , routers (R) 103a, 103b, and 103c connected to the input/output point of the service providing server of the network 101, a user authentication device 104 connected to the routers, load balancers 105a, 105b, and 105c connected to each router, a local area network or wide area network (LAN/WAN) 106 for connection of these load balancers with a plurality of service providing servers, and a home agent (HA) 107 on a mobile IP network.
A plurality of service providing servers form a group configured by a plurality of servers for providing the same services. For example, service providing servers 110a, 110b, 110c, . . . are configured by servers capable of providing the same servers as a group. Therefore, for example, servers of a group configured by service providing servers 111a, 111b, 111c, . . . and servers of a group configured by service providing servers 112a, 112b, 112c, . . . provide different services.
In the mobile device packet network shown in FIG. 42, communications are performed between the mobile devices, for example, a mobile phone and a service providing server. Since a server capable of providing a service requested by a client forms a group as described above, a load balancer for processing an input packet from a client is provided at a stage before the service providing server such that input packets can be distributed to the service providing servers in accordance with the balancing policy by which the loads of the servers can be balanced.
In the common load balancing system, a grouped service providing server is assigned representative address information, a client transmits a packet using the representative address information as a destination, and the packet is distributed to any service providing server in the group based on the balancing policy of the load balancer.
The balancing policy can be a round robin policy, a weighted round robin policy, a priority policy, a minimum number of connections policy, a fastest response time policy, a CPU load policy, etc. A balancing policy information table indicating the above-mentioned balancing policies is provided for the load balancer.
For example, in a mobile device packet network operated by a common carrier for providing a communications service, there are a large number of users, and a plurality of routers (R) 103a, 103b, and 103c and load balancers 105a, 105b, and 105c are provided at the input/output point of the service providing servers of the mobile IP network 101 shown in FIG. 42 to distribute the users, thereby performing load balancing for a number of service providing servers.
However, with the above-mentioned configuration, when a mobile device, for example, the mobile device 100a moves during the communications, the input/output point of the service providing server to the mobile IP network 101 dynamically changes. For example, although communications are first performed through the router 103a and the load balancer 105a, the communications can be next performed through the router 103c and the load balancer 105c. In such a case, for example, when the three load balancers 105a, 105b, and 105c perform load balancing based on the respective balancing policies, a packet can be distributed to different service providing servers in the same group. In this case, there can be the problem that a TCP (transmission control protocol) connection, that is, a connection for reception of a specific service, cannot be maintained.
Furthermore, in the above-mentioned case, for example, although the load balancers 105a and 105c distribute packets to the same service providing server in the group, the packets do not pass through the same path between the mobile IP network 101 and the service providing servers if, for example, the mobile device 100a transmits an up packet, that is, a packet to a service providing server, moves during reception of a down packet, that is, a packet from a service providing server, and the up packet after the movement passes through the load balancer.
Thus, the conventional technology using a layer 7 switch for maintenance of a user session has been suggested to distribute a packet to the same service providing server although the input/output point of a service providing server to a network dynamically changes with the movement of a mobile device during communications. A user session is defined by, for example, a UDP (user datagram protocol).
Unlike the TCP, a UDP is a connectionless protocol. Although there is no concept of a connection for the protocol, there is a concept of a session under an upper protocol of a UDP, for example, a domain name system (DNS) as a mechanism of solving a standard name for use in Internet. In this concept, a process can be completed by the same server processing a series of UDP packets. The communications using a plurality of UDP packets for completion of the process is referred to as a user session under the UDP.
A user session is defined for a TCP as well as a UDP. Under the TCP, there is a concept of a user session under an upper protocol, for example, a hyper text transfer protocol (HTTP). In this concept, a process can be complete by performing the establishment of a series of TCP connections, the transfer of data, and the release. The communications in a series of TCP connections performed to complete the process are called a user session under the TCP.
There also occurs the problem with the user session under the UDP and TCP that a packet cannot be distributed to the same service providing server due to a dynamic change of the input/output point to the network by the movement of a mobile device during the communications, and the user session cannot be successfully maintained. The conventional technology to maintain a user session is described below by referring to FIG. 43.
FIG. 43 shows a conventional technology of a mobile device communications system using a layer 7 switch. In the conventional technology, a plurality of transparent proxy (T.P.) devices 120a, 120b, and 120c, a plurality of layer 7 switch (L7SW) devices 121a, 121b, and 121c, and a network 122 between the plurality of load balancers and service providing servers shown in FIG. 42, and a layer 7 switch performs static load balancing using the user identification information under the layer 7 protocol such as an HTTP, etc. as a key by the layer 7 switch, thereby enabling communications to be distributed to the same service providing server while continuing the user session under the TCP and UDP.
As described above, the following five problems occur because packets are not transmitted through the same path between the mobile IP network 101 and the service providing server as shown in FIG. 42 as described above.
The first problem is that is requires a long time to switch services. The management of a TCP connection and a user session corresponding to one service is to be performed on the service providing server side, and a TCP connection is to be reconnected each time a service is switched, thereby requiring a reconnection of a TCP connection each time a service is switched as viewed from the mobile device side, and requiring a long time to switch the service.
The second problem is that it can not balancing a risk when a service providing server goes down. If a service providing server which manages a TCP connection and a user session goes down, the connection cannot be switched to the server for providing the same services, and services cannot be provided until the faulty service providing server recovers from the fault.
The third problem is that proxy accounting information can not be generated. That is, only the service providing server which manages the TCP connection or the user session can perform an authenticating process in a contract service unit in providing a service for a client, and no proxy generation of accounting information can be performed for pay contents.
The fourth problem is that protocol conversion of a transport layer can not be performed between a wireless network and a cable network. There is a difference in delay time, etc. between a wireless network and a cable network. Therefore, to set a standard Internet service in the optimum format in the wireless communications, it is necessary to convert a window size (the amount of data which can be transmitted at a time, etc.), that is, a protocol conversion of a transport layer between the wireless network and the cable network. If packets are not transmitted through the same path, a trunk device for protocol-converting a transport layer cannot be provided.
The fifth problem is that no gateway function between the network of the Internet protocol version (IPV) 4 and the network of the IPV6 network can be provided. Recently, with an increasing number of mobile phones, large expansion of IP addresses is required, and there are plans to implement IPV6. When IPV6 is implemented, a gateway function will be required between the current IPV4 network and the IPV6 network. However, when packets are not transmitted through the same path, the gateway function cannot be provided.
As described above by referring to FIG. 43, the following problem occurs when a user session is maintained using the layer 7 switch.
The first problem is that loads can be concentrated on a specific service providing server because packets corresponding to the request from the client having the same user identification information are distributed to the same service providing server.
The second problem is that the processes of adding a layer 7 switch each time a service is added, that is, analyzing an additional service (layer 7 protocol), identifying a session, etc., thereby failing in quickly adding services. Especially, a common carrier frequently has to add services, and the problem is serious.
The third problem is that the performance of the packet distributing process is low. Since the process by the layer 7 switch is normally implemented by software, the problem is that the performance of the packet distributing process is lower than that by the hardware (firmware).
The present invention has been developed to solve the above-mentioned problems, and aims at setting the same path for packets which configure the same TCP connection and user session although a plurality of input/output points are provided on the service providing server side of an IP network and a load balancer is provided for each input/output point, and maintaining a TCP connection although a mobile device performs communications while it moves. Another object of the present invention is to provide a gateway function in the path to avoid the necessity for making time for switching services, balance a risk when the service providing server goes down, perform proxy generation of accounting information, and perform a transport layer protocol conversion, and further realize a gateway function between the IPV4 network and the IPV6 network.